package com.xhs.service;

/**
 * @desc: 自动编号服务
 * @projectName: auto-number
 * @author: xhs
 * @date: 2025-03-12 周三 13:37
 * @version: JDK 21
 */
public interface SerialNumberService {

    /**
     * 生成全局唯一编号
     *
     * @param businessKey 业务标识（如 "order", "invoice"）
     * @param prefix      编号前缀（可选）
     * @param suffix      编号后缀（可选）
     * @param length      编号位数（可选）
     * @param resetRule   编号重置规则（可选）
     * @return 生成的编号，如 "ORD-20250312-0001"
     */
    String generate(String businessKey, String prefix, String suffix, Integer length, ResetRule resetRule);
}
